package www.wen.com.common.lib.data.db.dao

import androidx.room.*
import www.wen.com.common.lib.data.entities.builtIn.Cache


/**
 * @author WEN
 * @Description:
 * @date 2021/1/27 14:18
 */
@Dao
interface CacheDao {

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insert(vararg caches: Cache)

    //只能传递对象的,删除时根据Cache中的主键 来比对的
    @Delete
    fun delete(vararg caches: Cache)

    //只能传递对象的,更新时根据Cache中的主键 来比对的
    @Update(onConflict = OnConflictStrategy.REPLACE)
    fun update(vararg caches: Cache)

    //获取表中所有数据
    @Query("select * from app_cache")
    fun findAll(): List<Cache>?

    //根据name来查找数据（这里是一对一，如果是一对多,这里可以写List<Student>）
    @Query("select * from app_cache where `key` = :key")
    fun findByKey(key: String): Cache?

}